Avatars are well-known and widely used in various systems and software applications, such as telecommunication applications, user interface applications, computer games, etc. An avatar may refer to an animated version of a human face, an animal face, a cartoon face, etc. Avatars are often used by users who wish to preserve their privacy by not revealing their real face.
Although a face avatar is supposed to represent the corresponding user's face, today's avatars are limited in that they do not correspondingly follow the changing expressions or gestures of the user's face. For example, camera-based face tracking can only track a limited number of facial features and are inadequate to drive avatar facial expression animations.